package com.ssy.lingxi.order.model.vo.basic.response;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 业务员业绩统计-业绩订单明细
 * @author 郑小翠
 * @version 2.02.18
 * @date 2022-03-17
 */
public class MemberSalesCountOrderDetailsQueryVO {

    /**
     * 排序id
     */
    private Integer orderById;

    /**
     * 商品SkuId
     */
    private Long skuId;

    /**
     * 订单Id
     */
    private Long orderId;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 商品名称
     */
    private String commodityName;

    /**
     * 规格属性
     */
    private String spec;

    /**
     * 品类
     */
    private String category;

    /**
     * 数量
     */
    private BigDecimal quantity;

    /**
     * 单价
     */
    private BigDecimal price;

    /**
     * 优惠减免
     */
    private BigDecimal preferentialRelief;

    /**
     * 商品应付金额
     */
    private BigDecimal refPrice;

    /**
     * 商品已付金额
     */
    private BigDecimal paidAmount;

    /**
     * 商品售后退款金额
     */
    private BigDecimal returnAmount;

    /**
     * 所属业务员Id
     */
    private Long userId;

    /**
     * 业务员名称
     */
    private String name;

    /**
     * 下单会员名称
     */
    private String buyMemberName;

    /**
     * 订单完成时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime finishTime;

    public MemberSalesCountOrderDetailsQueryVO() {
    }

    public MemberSalesCountOrderDetailsQueryVO(Long skuId, Long orderId, String orderNo,String commodityName, String spec, String category, BigDecimal quantity, BigDecimal price, BigDecimal preferentialRelief, BigDecimal refPrice, BigDecimal paidAmount, BigDecimal returnAmount, Long userId, String name, String buyMemberName,LocalDateTime finishTime) {
        this.skuId = skuId;
        this.orderId = orderId;
        this.orderNo =orderNo;
        this.commodityName = commodityName;
        this.spec = spec;
        this.category = category;
        this.quantity = quantity;
        this.price = price;
        this.preferentialRelief = preferentialRelief;
        this.refPrice = refPrice;
        this.paidAmount = paidAmount;
        this.returnAmount = returnAmount;
        this.userId = userId;
        this.name = name;
        this.buyMemberName = buyMemberName;
        this.finishTime = finishTime;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getCommodityName() {
        return commodityName;
    }

    public void setCommodityName(String commodityName) {
        this.commodityName = commodityName;
    }

    public String getSpec() {
        return spec;
    }

    public void setSpec(String spec) {
        this.spec = spec;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public BigDecimal getQuantity() {
        return quantity;
    }

    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public BigDecimal getPreferentialRelief() {
        return preferentialRelief;
    }

    public void setPreferentialRelief(BigDecimal preferentialRelief) {
        this.preferentialRelief = preferentialRelief;
    }

    public BigDecimal getRefPrice() {
        return refPrice;
    }

    public void setRefPrice(BigDecimal refPrice) {
        this.refPrice = refPrice;
    }

    public BigDecimal getPaidAmount() {
        return paidAmount;
    }

    public void setPaidAmount(BigDecimal paidAmount) {
        this.paidAmount = paidAmount;
    }

    public BigDecimal getReturnAmount() {
        return returnAmount;
    }

    public void setReturnAmount(BigDecimal returnAmount) {
        this.returnAmount = returnAmount;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getBuyMemberName() {
        return buyMemberName;
    }

    public void setBuyMemberName(String buyMemberName) {
        this.buyMemberName = buyMemberName;
    }

    public LocalDateTime getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(LocalDateTime finishTime) {
        this.finishTime = finishTime;
    }

    public Integer getOrderById() {
        return orderById;
    }

    public void setOrderById(Integer orderById) {
        this.orderById = orderById;
    }

    @Override
    public String toString() {
        return "MemberSalesCountOrderDetailsQueryVO{" +
                "skuId=" + skuId +
                ", orderId=" + orderId +
                ", commodityName='" + commodityName + '\'' +
                ", spec='" + spec + '\'' +
                ", category='" + category + '\'' +
                ", quantity=" + quantity +
                ", price=" + price +
                ", preferentialRelief=" + preferentialRelief +
                ", refPrice=" + refPrice +
                ", paidAmount=" + paidAmount +
                ", returnAmount=" + returnAmount +
                ", userId=" + userId +
                ", name='" + name + '\'' +
                ", buyMemberName='" + buyMemberName + '\'' +
                ", finishTime='" + finishTime + '\'' +
                '}';
    }
}
